package top.kaoshanji.p3ch20b;

import java.util.List;

/**
 * 代码清单-p3ch20b-234页b：项目迭代器
 * @author kaoshanji
 * ^_^
 * create time 2025/3/24 18:06
 */
public class ProjectIterator implements IProjectIterator {

    // 所有的项目都放在 List 中，由构造器初始化
    private List<IProject> projectList = null;
    private int currentItem = 0;

    // 构造函数传入 projectList
    public ProjectIterator(List<IProject> projectList) {
        this.projectList = projectList;
    }

    // 判断是否还有元素，必须实现
    @Override
    public boolean hasNext() {
        // 定义一个返回值
        boolean b = true;
        if (this.currentItem >= projectList.size() || this.projectList.get(this.currentItem) == null) {
            b = false;
        }

        return b;
    }

    // 取得下一个值
    @Override
    public IProject next() {
        return this.projectList.get(this.currentItem++);
    }

    // 删除一个对象
    @Override
    public void remove() {
        // 暂时没有使用到
    }

}
